弄完資料庫後,花了一點時間的寫了這幾隻API。
主要的routing分成
前者預計給之後的頁面使用,後者是我自己在家呼叫用的。
Swagger的畫面(OAS3)
再來先把這個API Containerize,dockerfile 如下:
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /source
COPY . .
RUN dotnet publish -c release -o /app
FROM mcr.microsoft.com/dotnet/aspnet:5.0
WORKDIR /app
COPY --from=build /app ./
USER 1001
ENV TZ=Asia/Taipei
ENV ASPNETCORE_URLS=http://+:7777
ENTRYPOINT ["dotnet", "homelabAPI.dll"]
這邊也是走rootless的方式,並且修改bind的port為7777(預設會是80),以前有遇過unix system要bind 0-1024 的 port需要root的身份的問題,所以這邊刻意修改port。
然後原本想說要bind 6666 port,試了一下怪怪的Curl能通,Chrome卻不通,於是乎又google了一下才知道Chrome竟然有限制這些port,又學了一課~
docker build -t homelab:dev .
docker save homelab:dev > homelab.tar
## nas上,之後會弄成Auto Build這邊先讓我手動搬過去執行~
docker load < homlab.tar
docker run -itd --env ASPNETCORE_ENVIRONMENT=Development -p 7777:7777 homelab:dev
就先這樣把我這個API佈署在我的小NAS上面。
先說明一下,這邊純粹是個人興趣亂開發。如果各位真的有Blog/筆記需求的話,不妨去用像hackmd、ithome、點部落或Medium之類的線上平台,如果真的想要試試自己hosting與maintain的話,也可以使用像是hexo或hugo這類的工具很簡單的就可以幫助你佈署在github page上,相關的教學可以在網路上google一下應該不難查到。不要像我一樣蝦逼逼在這邊亂搞XD